/*********************************************************************\
*
*                  (c) lkc
*                  All Rights Reserved. lkc Confidential
*
\*********************************************************************/
/*********************************************************************\
*   Title                      :
*
*   Module Description         :
*
*   Author                     : lkc
*
*   Created                    : 2018-4-22
*
\*********************************************************************/
#ifndef DATASTORE_H
#define DATASTORE_H

#include <vector>
#include <string>
#include <fstream>
#include <mutex>

//#include <chrono>


class DataStore
{
public :
//    DataStore(const std::string& saveName, const std::string &ranName, const std::string& header);
    void SetPar(const std::string& rootPre,const std::string& saveName, const std::string &ranName, const std::string& header);
    void StoreBuffer(const std::string& data);
    void StoreFlash();
private:
    std::string m_saveRoot;
//    std::string m_saveName;
    std::ofstream m_outfile;
    std::vector<std::string> m_buffer[2];
    int m_bufferIndex = 0;
    std::mutex m_mtx;
//    bool m_isStoring = false;
};




#endif // DATASTORE_H

/********************************************************************\
 *
 * REVISION RECORDS
 *
\*********************************************************************/
/*********************************************************************/
/*
 *
 *
 *
\*********************************************************************/
/*------------------------------The End------------------------------*/
